// Copyright (C) 2010-2015 Joshua Boyce
// See the file COPYING for copying permission.

#pragma once

#include <d3d11.h>

#if !defined(D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT)
#define D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT (16)
#endif // #if !defined(D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT)

#if !defined(D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT)
#define D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT (128)
#endif // #if !defined(D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT)

#if !defined(D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT)
#define D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT (14)
#endif // #if !defined(D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT)

#if !defined(D3D11_SHADER_MAX_INTERFACES)
#define D3D11_SHADER_MAX_INTERFACES (253)
#endif // #if !defined(D3D11_SHADER_MAX_INTERFACES)

#if !defined(D3D11_PS_CS_UAV_REGISTER_COUNT)
#define D3D11_PS_CS_UAV_REGISTER_COUNT (8)
#endif // #if !defined(D3D11_PS_CS_UAV_REGISTER_COUNT)

#if !defined(D3D11_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT)
#define D3D11_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT (32)
#endif // #if !defined(D3D11_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT)

#if !defined(D3D11_SIMULTANEOUS_RENDER_TARGET_COUNT)
#define D3D11_SIMULTANEOUS_RENDER_TARGET_COUNT (8)
#endif // #if !defined(D3D11_SIMULTANEOUS_RENDER_TARGET_COUNT)

#if !defined(D3D11_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE)
#define D3D11_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE (16)
#endif // #if !defined(D3D11_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE)
